In coding theory, a parity-check matrix of a linear block code C is a generator matrix of the dual code. As such, a codeword c is in C if and only if the matrix-vector product Hc=0.
The rows of a parity check matrix are parity checks on the codewords of a code. That is, they show how linear combinations of certain digits of each codeword equal zero. For example, the parity check matrix
specifies that for each codeword, digits 1 and 2 should sum to zero (according to the second row) and digits 3 and 4 should sum to zero (according to the first row).
The parity check matrix for a given code can be derived from its generator matrix (and vice-versa). If the generator matrix for an -code is in standard form
then the parity check matrix is given by
because
Negation is performed in the finite field mod . Note that if the characteristic of the underlying field is 2 (i.e., in that field), as in binary codes, then , so the negation is unnecessary.
For example, if a binary code has the generator matrix
The parity check matrix becomes
For any valid codeword , . For any invalid codeword , the syndrome satisfies .